<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>break 和 continue</title>
</head>
<body>
    
</body>
</html>
<script>
    // break        ⭐终止当前循环
    // continue     ⭐跳过当次循环

    /*
        break 关键字可以用来退出switch或循环语句
            不能在 if 语句中使用 break 和 continue
            break 关键字，会立即终止离他最近的那个循环语句
    */
    // for 循环里可以使用
    for(var i = 0;i<5;i++){
        document.write(i);
        
        if(i == 3){
            break;
        }
    }

    /*  单独使用不行
    if(true){
        break;
        document.write('123');
    }
    */

    /*
        可以为循环语句创建一个 label ,来标识当前循环
        label : 循环语句
        使用 break 语句时，可以在 break 后跟着一个 label
            这样 break 将会结束指定的循环，而不是最近的
    */
    out :
    for(var c=0; c<5;c++){
        console.log("---最外层"+c);
        for(var i=0;i<5;i++){
            console.log("@外层循环"+i);
            for(var j=0; j<5;j++){
                break out;
                console.log("内层循环"+j);
            }
        }
    }

    /*
        continue 关键字可以用来跳过当次循环
            同样continue也是默认只会对离他最近的循环起作用
    */
    for(var i = 0;i<5;i++){
        
        if(i==2 || i==3){
            continue;
        }
        console.log("============"+i);
    }
    //========================

    outer:
    for(var i = 0;i<5;i++){
        
        for(var j=0;j<5;j++){
            // if(j==1){
                continue outer;
            // }
            console.log("j ####"+j);
        }
        console.log('i ++++'+i);
        
    }
</script>